home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tools / packer / tar / doc / readme.amiga < prev    next >
Text File  |  1995-03-09  |  4KB  |  78 lines

  1. Amiga Tar
  2.  
  3. This is tar for the Amiga.  I used John Gilmore's (gnu@toad.COM) public
  4. domain tar program as a base for this tar.  This program, and the files it
  5. produces are supposed to be fully compatible with UNIX tar.
  6.  
  7. Amiga Specific Features
  8.  
  9. There are a couple of Amiga specific features which I've added.  In an unused
  10. part of the header I store a magic number, the original Amiga file bits, the
  11. file's date stamp (including ticks), and the file comment.  When this program
  12. extracts it looks for the magic number.  If it is present, it uses the stored
  13. file bits to set the mode rather than the mode stored in the regular tar
  14. header.  The file's comment is also set, and the timestamp set from the
  15. original timestamp.  There is also some filename translation which goes on,
  16. each leading / translates to ../, null string translates to ./, so the files
  17. are compatible with UNIX.  The reverse of these translations is done when
  18. extracting.  Since some shells have difficulty giving tar a null string as an
  19. argument, "." can be used to specify the current directory, as in
  20. "tar cvf ram:mybackup ." to add every file in and below the current directory
  21. to the tar archive.  You may need to quote the single period in some shells,
  22. like Sksh, as it will expand to the absolute pathname otherwise.
  23.  
  24. Archiving
  25.  
  26. If you specify the modifier "a" on the command line, the archived bit of every
  27. file will be set as it is added to the tar archive.  You can use tar as a file
  28. backup utility this way.  Regardless of command line options, the archived bit
  29. is always cleared upon extraction.
  30.  
  31. If you specify the modifier "A" on the command line, tar will not archive
  32. any regular file which has its archived bit set.  Directories are always
  33. written to the archive.
  34.  
  35. Differences
  36.  
  37. If you say something like "tar cvf ram:foo .", the output might not be what
  38. you would expect.  To get the normal amount of verbosity, you need to specify
  39. "v" twice, as in "tar cvvf ram:foo".  I think the reason this was done is so
  40. that a single v will give you a list of filenames you can easily edit,
  41. something a normal tar won't do.  You should also realize that you can't
  42. set protection, comment, or datestamp on a root directory.  Tar can fail when
  43. setting protection, comment, and datestamp on a directory.  This will happen
  44. if someone is holding a lock on the directory.  Tar tries to be clever
  45. and cd up one level when setting stuff on the current directory, but this
  46. will fail if anyone else has a lock on the directory.  Tar complains loudly
  47. when this happens.  Tar works with CrossDOS, but setting the comment fails
  48. of course.
  49.  
  50. Environment variables
  51.  
  52. You will want to set a couple environment variables for tar.  You should set
  53. TZ, just like in UNIX.  For me the command line is "setenv TZ PST8PDT".
  54. If you don't set TZ, tar uses "CST6CDT" as the default.  The second
  55. environment variable is "TARFILE", which is the name of the default
  56. file to create.  You should do something like "setenv TARFILE ram:tarfile".
  57. If you don't set TARFILE, it defaults to "ram:tarfile".
  58.  
  59. Why tar?
  60.  
  61. There are a lot of reasons for using tar.  It preserves the directory
  62. structure, it's fast, it restores all the information that goes along
  63. with a file, and it's used on UNIX boxes.
  64.  
  65. Bugs
  66.  
  67. While I've tried to test this as much I can, I can't guarantee that there
  68. aren't any bugs.  So use this at your own risk.  
  69.  
  70. For reasons I don't understand, tar cannot set the timestamp on files in
  71. the current directory when the files reside on the ASDG recoverable RAM
  72. DISK.  It works fine with everything else I've tried.  If you look at the
  73. code in utime.c, the ParentDir() call returns zero.  The files are still
  74. extracted ok, but the timestamps are not changed.
  75.  
  76. Jonathan Hue
  77. hue@netcom.UUCP
  78.